home *** CD-ROM | disk | FTP | other *** search
/ 10,000 Great Games / 10,000 Great Games.iso / Product / 66 / data1.cab / Source_Files / Src / TurretDlg.cpp < prev    next >
C/C++ Source or Header  |  2000-01-16  |  2KB  |  73 lines

  1. #include "stdafx.h"
  2. #include "TurretDlg.h"
  3.  
  4. CTurretDlg::CTurretDlg(cTurret *_turret, CWnd* pParent)
  5.     : CDialog(CTurretDlg::IDD, pParent)
  6. {
  7.     turret = _turret;
  8.  
  9.     //{{AFX_DATA_INIT(CTurretDlg)
  10.     m_Armor = 0;
  11.     m_From = 0;
  12.     m_To = 0;
  13.     //}}AFX_DATA_INIT
  14.  
  15.     m_From = turret->rotation_start * 360 / 256;
  16.     m_To = turret->rotation_end * 360 / 256;
  17.  
  18.     m_Armor = turret->armor;
  19. }
  20.  
  21. void CTurretDlg::DoDataExchange(CDataExchange* pDX)
  22. {
  23.     CDialog::DoDataExchange(pDX);
  24.     //{{AFX_DATA_MAP(CTurretDlg)
  25.     DDX_Control(pDX, IDC_TURRET_DELAY, m_Delay);
  26.     DDX_Control(pDX, IDC_TURRET_ROTATION, m_Rotation);
  27.     DDX_Text(pDX, IDC_TURRET_ARMOR, m_Armor);
  28.     DDV_MinMaxInt(pDX, m_Armor, 1, 1000);
  29.     DDX_Text(pDX, IDC_TURRET_FROM, m_From);
  30.     DDV_MinMaxInt(pDX, m_From, -360, 360);
  31.     DDX_Text(pDX, IDC_TURRET_TO, m_To);
  32.     DDV_MinMaxInt(pDX, m_To, -360, 360);
  33.     //}}AFX_DATA_MAP
  34. }
  35.  
  36.  
  37. BEGIN_MESSAGE_MAP(CTurretDlg, CDialog)
  38.     //{{AFX_MSG_MAP(CTurretDlg)
  39.     //}}AFX_MSG_MAP
  40. END_MESSAGE_MAP()
  41.  
  42. BOOL CTurretDlg::OnInitDialog() 
  43. {
  44.     CDialog::OnInitDialog();
  45.  
  46.     m_Delay.SetRange(sec / 10, 5 * sec);
  47.     m_Delay.SetPos(turret->fire_delay);
  48.  
  49.     m_Rotation.SetRange(0, 80);
  50.     m_Rotation.SetPos(turret->rotation_speed);
  51.  
  52.     return TRUE;
  53. }
  54.  
  55. void CTurretDlg::OnOK() 
  56. {
  57.     UpdateData();
  58.  
  59.     turret->fire_delay = m_Delay.GetPos();
  60.  
  61.     turret->rotation_speed = m_Rotation.GetPos();
  62.  
  63.     turret->rotation_start = (fix)m_From * 256 / 360;
  64.     turret->rotation_end = (fix)m_To * 256 / 360;
  65.  
  66.     turret->armor = m_Armor;
  67.  
  68.     turret->set_rotation_angle(turret->rotation_start);
  69.     turret->make_dirty();
  70.     
  71.     CDialog::OnOK();
  72. }
  73.